1927D - Find the Different Ones - CodeForces Solution


binary search brute force data structures dp greedy two pointers

Please click on ads to support us..

C++ Code:

#include <bits/stdc++.h>
using namespace std;
#define ll long long
const ll N = 10000001;

ll spf[N];
void sieve()
{
	for (ll i = 2; i < N; i++)
	{
		spf[i] = i;
	}

	for (ll i = 2; i * i < N; i++)
	{
		if (spf[i] != i)
		{
			continue;
		}
		else
		{
			for (ll j = i * i; j < N; j += i)
			{
				spf[j] = i;
			}
		}
	}
}

ll gcd(ll a, ll b)
{

	while (a != 0 && b != 0)
	{
		if (a > b)
		{
			a = a % b;
		}
		else
		{
			b = b % a;
		}
	}
	if (a == 0)
		return b;
	else
		return a;
}

int main()
{

	// your code goes here
	sieve();
	ll t;
	cin >> t;
	while(t--)
	{
		ll n;cin>>n;
		ll arr[n+1];
		for (ll i=1;i<=n;i++)
		{
			cin>>arr[i];
		}
		ll dist[n+1];
		dist[n]=-1;
		ll last=n;
		for (ll i=n-1;i>=1;i--)
		{
			if (arr[i]==arr[last])
			{
				dist[i]=dist[last];
				last=i;
			}
			else 
			{
				dist[i]=last;
				last=i;
			}
		}
		// for (ll i=1;i<=n;i++)
		// {
		// 	cout<<dist[i]<<" ";
		// }
		// cout<<endl;
		ll q;
		cin>>q;
		while(q--)
		{
			ll l,r;
			cin>>l>>r;
			if (dist[l]>r || dist[l]==-1)
			{
				cout<<-1<<" "<<-1<<endl;
			}
			else 
			cout<<l<<" "<<dist[l]<<endl;
		}

	}

}


Comments

Submit
0 Comments
More Questions

287B - Pipeline
510A - Fox And Snake
1520B - Ordinary Numbers
1624A - Plus One on the Subset
350A - TL
1487A - Arena
1520D - Same Differences
376A - Lever
1305A - Kuroni and the Gifts
1609A - Divide and Multiply
149B - Martian Clock
205A - Little Elephant and Rozdil
1609B - William the Vigilant
978B - File Name
1426B - Symmetric Matrix
732B - Cormen --- The Best Friend Of a Man
1369A - FashionabLee
1474B - Different Divisors
1632B - Roof Construction
388A - Fox and Box Accumulation
451A - Game With Sticks
768A - Oath of the Night's Watch
156C - Cipher
545D - Queue
459B - Pashmak and Flowers
1538A - Stone Game
1454C - Sequence Transformation
165B - Burning Midnight Oil
17A - Noldbach problem
1350A - Orac and Factors